<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib uri="/WEB-INF/tlds/c.tld" prefix="c"%>
<%@ taglib uri="/WEB-INF/tlds/fmt.tld" prefix="fmt"%>
<%@ taglib uri="/WEB-INF/tlds/tiles-jsp.tld" prefix="tiles"%>
<script type="text/javascript">

$(function() {
    tableToGrid("#tablaSolicitudes", {
        caption:'Lista de Solicitudes',
        height: 'auto',
        shrinkToFit: false,
        colModel :[
			{name: 'idSolicitud', index: 'idSolicitud' ,align: 'center',width:120},
            {name: 'fechaSolicitud', index: 'fechaSolicitud' ,align: 'center',width:110},
            {name: 'oficina', index: 'oficina',align: 'left', width:100},
            {name: 'fechaEsperadaIncorporacion', index: 'fechaEsperadaIncorporacion',align: 'center', width:140},
            {name: 'perfil', index: 'perfil',align: 'left', width:170},
            {name: 'gerenteSolicitante', index: 'gerenteSolicitante',align: 'left', width:120},
            {name: 'superiorDirecto', index: 'superiorDirecto',align: 'left', width:120},
            {name: 'proyectoAsignado', index: 'proyectoAsignado',align: 'left', width:120},
            {name: 'cantidadVacantes', index: 'cantidadVacantes',align: 'center', width:60},
            {name: 'estadoSolicitudId', align: 'center', width:100, sortable:false},
            {name: 'accion', align: 'center', width:90, sortable:false}],
    });
    
    
    $("[name='detallesSolicitud']").button({
        icons: {
            primary: "ui-icon-zoomin"
        },
        text: false
    }).click(function() {
    	consultarSolicitud(this.value);
    });
    
    $("[name='gestionarSolicitud']").button({
        icons: {
            primary: "ui-icon-pencil"
        },
        text: false
    }).click(function() {
    	gestionarSolicitud(this.value);
    });
    
    $("[name='cerrarSolicitud']").button({
        icons: {
            primary: "ui-icon-closethick"
        },
        text: false
    }).click(function() {
    	var valueIdSolicitud = this.value;
    	$(function() {
    		$('<div id="dialog-confirm">¿Esta seguro de cerrar la Solicitud de Ingreso?</div>').dialog({
    			resizable: false,
    			height:140,
    			modal: true,
    			buttons: {
    				Acept: function() {
    					$( this ).dialog( "close" );
    					cerrarSolicitud(valueIdSolicitud);
    				},
    				Cancel: function() {
    					$( this ).dialog( "close" );
    				}
    			}
    		});
    	});
    });
    
    $("[name='aprobarSolicitud']").button({
        icons: {
            primary: "ui-icon-pencil"
        },
        text: false
    }).click(function() {
    	aprobarSolicitud(this.value);
    });
    
});    

function gestionarSolicitud(idSolicitud){
	$("#idSolicitud").attr("value",idSolicitud);
	$("#gestionarsolicitud").submit();
}

function consultarSolicitud(idSolicitud){
	var jsonData = {idSolicitud:idSolicitud};
	$.ajax({
	    type: 'POST',
	    data: jsonData,
	    dataType: 'json',
	    url:  '${appCtx}/conexia-rrhh/consultarsolicitud',
	    complete: function(response){
	    	var CLRB_controlHistorial = $("<div>").attr("title",'Detalle de la Solicitud').addClass('dialogContainer').dialog({
				autoOpen: true,
				height: 500,
				width: 900,
				modal: true,
				resizable: false,
				buttons: {
					'Cerrar': function() {
						 $(this).remove();
					}
				}, 
				 open: function(event, ui) {
					 $(this).html(response.responseText);
				 },
				 close: function(event, ui) {
					 $(this).remove();
				 } 
			});
	    }
	});
}

function cerrarSolicitud(idSolicitud){
	var jsonData = {idSolicitud:idSolicitud};
	$.ajax({
	    type: 'POST',
	    data: jsonData,
	    dataType: 'json',
	    url:  '${appCtx}/conexia-rrhh/cerrarSolicitud',
	    complete: function(rsp){
	    	if(rsp.responseText!=undefined){
				var obj = jQuery.parseJSON(rsp.responseText);
				if(obj.transactionResult=='true'){
				   	mostrarMensaje(obj.transactionResultMessage,true,'${appCtx}/conexia-rrhh/administrarSolicitudes');
				} else if (obj.transactionResultMessage!=''){
					// Si el error se especifica (fallo una regla de negocio) se muestra en pantalla 
				  	mostrarMensaje('Error ejecutando la transaccion' + ':' + obj.transactionResultMessage,false,'');
				} else {
				 	// Si el error no se especifica (el motor lanzo una excepcion) se muestra un mensaje generico  
				 	mostrarMensaje('Ha ocurrido un error. Intente realizar la operaci&oacute;n nuevamente. Si el error persiste, por favor contacte al administrador del sistema.',false,''); 
				}
			}else{
				mostrarMensaje('Ha ocurrido un error. Intente realizar la operaci&oacute;n nuevamente. Si el error persiste, por favor contacte al administrador del sistema.',false,'');
			}
	    }
	});
}

function aprobarSolicitud(idSolicitud){
	$("#idSolicitudaprobarsolicitudform").attr("value",idSolicitud);
	$("#aprobarsolicitudform").submit();
}

</script>
</head>
<body>
<br /><br />
<div style="width: 950px; position: relative; margin: auto;">
    <c:choose>
    <c:when test="${solicitudesSize>0}">
    <table id="tablaSolicitudes">
        <tr>
            <th id="idSolicitud">Numero Solicitud</th>
            <th id="fechaSolicitud">Fecha Solicitud</th>
            <th id="oficina">Oficina</th>
            <th id="fechaEsperadaIncorporacion">Fecha Incorporacion</th>
            <th id="perfil">Perfil Buscado</th>
            <th id="gerenteSolicitante">Gerente solicitante</th>
            <th id="superiorDirecto">Superior directo</th>
            <th id="proyectoAsignado">Proyecto Asignado</th>
            <th id="cantidadVacantes">Vacantes</th>
            <th id="estadoSolicitudId">Estado</th>
            <th id="accion">Accion</th>
        </tr>
        <c:forEach var="solicitud" items="${solicitudes}">
			<tr>
	            <td>${solicitud.idSolicitud}</td>
	            <td>${solicitud.fechaSolicitud}</td>
	            <td>${solicitud.oficinaDescripcion}</td>
	            <td>${solicitud.fechaEsperadaIncorporacion}</td>
	            <td>${solicitud.perfilNombre}</td>
	            <td>${solicitud.gerenteSolicitante}</td>
	            <td>${solicitud.superiorDirecto}</td>
	            <td>${solicitud.proyectoAsignado}</td>
	            <td>${solicitud.cantidadVacantes}</td>
	            <td>${solicitud.estadoSolicitudDescripcion}</td>
	            <c:choose>
		            <c:when test="${perfilUsuarioId=='1'}">
		            	<td><div class="filaAcciones"><button class="botonAccion" 
		            	title="Ver Detalles" name="detallesSolicitud" value="${solicitud.idSolicitud}"></button><c:if 
		            	test="${solicitud.estadoSolicitudId==2}"><button class="botonAccion" title="Gestionar Solicitud" 
		            	name="gestionarSolicitud" value="${solicitud.idSolicitud}"></button></c:if><c:if 
		            	test="${solicitud.estadoSolicitudId!=4}"><button class="botonAccion" title="Cerrar Solicitud" 
		            	name="cerrarSolicitud" value="${solicitud.idSolicitud}"></button></c:if></div></td>
		            </c:when>
		            <c:when test="${perfilUsuarioId=='2'}">
		            	<td><div class="filaAcciones"><button class="botonAccion" 
		            	title="Ver Detalles" name="detallesSolicitud" value="${solicitud.idSolicitud}"></button><c:if 
		            	test="${solicitud.estadoSolicitudId==2}"><button class="botonAccion" title="Gestionar Solicitud" 
		            	name="gestionarSolicitud" value="${solicitud.idSolicitud}"></button></c:if></div></td>
		            </c:when>
		            <c:when test="${perfilUsuarioId=='3'}">
		            	<td><div class="filaAcciones"><button class="botonAccion" 
		            	title="Ver Detalles" name="detallesSolicitud" value="${solicitud.idSolicitud}"></button><c:if 
		            	test="${solicitud.estadoSolicitudId==2}"><button class="botonAccion" title="Gestionar Solicitud"
		            	name="gestionarSolicitud" value="${solicitud.idSolicitud}"></button><button class="botonAccion" title="Cerrar Solicitud" 
		            	name="cerrarSolicitud" value="${solicitud.idSolicitud}"></button></c:if></div></td>
		            </c:when>
		            <c:when test="${perfilUsuarioId=='4'}">
		            	<td><div class="filaAcciones"><button class="botonAccion" 
		            	title="Ver Detalles" name="detallesSolicitud" value="${solicitud.idSolicitud}"></button><c:if 
		            	test="${solicitud.estadoSolicitudId==1}"><button class="botonAccion" name="aprobarSolicitud" 
		            	title="Gestionar Solicitud" value="${solicitud.idSolicitud}"></button></c:if></div></td>
		            </c:when>
	            </c:choose>	
        	</tr>
		</c:forEach>
	</table>
	</c:when>
	<c:otherwise>
		<table class="ui-state-highlight" style="margin:auto;">
	  		<tr><td>&nbsp;No hay solicitudes para administrar.</td></tr>
	  	</table>
	</c:otherwise>
	</c:choose>
</div>
<form action="${appCtx}/conexia-rrhh/gestionarSolicitudAprobada" id="gestionarsolicitud" method="post">
	<input type="hidden" name="idSolicitud" id="idSolicitud">
</form>
<form action="${appCtx}/conexia-rrhh/pageAprobarSolicitud" id="aprobarsolicitudform" method="post">
	<input type="hidden" name="idSolicitud" id="idSolicitudaprobarsolicitudform">
</form>

